package net.cyndeline.builders

import net.cyndeline.entitySystem.EntityRef

/**
 * Builds any non-terrain map object, such as units
 * and items, based on their associated id.
 */
trait ObjectBuilder {
  
  /**
   * Sets up a complete entity, ready to be used in the game as is.
   * 
   * @param typeId An id used to reference a type of object (such as an enemy 
   * 			   type, or an item. This id is shared between every such
   *       		   object, and is not unique to the instance.
   * @param return The built entity, or None if the id wasn't recognized.
   */
  def build(typeId: String): Option[EntityRef]
}